<head><meta charset='UTF-8'></head><h2>逻辑判断</h2>


之前粗略地提到 bool 类型的变量，又说到 if 和 while 的判断条件。有些同学反馈说没怎么理解，为什么一会儿是 bingo=False，一会又是 bingo==False，一会儿是 while 在条件为 True 的时候执行，一会儿又是 while 在 bingo==False 的时候执行。别急，你听我说。
 
首先，要理解，一个逻辑表达式，其实最终是代表了一个bool类型的结果，比如：
1 < 3
这个就像当于是一个True的值
 
2 == 3
这个就是False
 
把它们作为判断条件放到 if 或者 while 的后面，就是根据他们的值来决定要不要执行。
 
同样的栗子再来几颗：
a = 1
print(a>3)  #False
print(a==2-1)  #True
b = 3
print(a+b==2+2)  #True
 
比较容易搞混的，是bool变量的值和一个逻辑表达式的值，比如：
a = False
print(a)  #False
print(a==False)  #True
 
虽然 a 本身的值是 False，但是 a==False 这个表达式的值是True。（说人话！）“a”是错的，但“a是错的”这句话是对的。
 
回到上面那几个概念：
bingo=False
把bingo设为一个值为False的变量
 
bingo==False
判断bingo的值是不是False，如果是，那么这句话就是True
 
while 在判断条件条件为 True 时执行循环，所以当 bingo==False 时，条件为 True，循环是要执行的。
 
晕了没？谁刚学谁都晕。不晕的属于骨骼惊奇百年一遇的编程奇才，还不赶紧转行做程序员！
 
逻辑这东西是初学编程的一大坑，我们后面还要在这个坑里挣扎很久。
 
留个习题：
a = True
b = not a  # 不记得not请回顾 6.bool
想想下面这些逻辑运算的结果，然后用 print 输出看看你想的对不对：
b
not b
a == b
a != b
a and b
a or b
1<2 and b==True
 

